Repository navigation
Conversation
tsmbland
force-pushed
the
continuous_capacities
branch
from
October 29, 2026 13:38
f8a04d9 to
bf2a63f
Compare
tsmbland
force-pushed
the
continuous_capacities
branch
2 times, most recently
from
November 4, 2026 13:48
8ce12fb to
a9d1198
Compare
tsmbland
changed the base branch from
circularity_milp
to
multi_investment_algorithms_prep
November 4, 2026 13:49
tsmbland
force-pushed
the
continuous_capacities
branch
from
November 9, 2026 15:50
a9d1198 to
ed42637
Compare
tsmbland
marked this pull request as ready for review
November 9, 2026 16:06
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Partial continuous mothballing and decommissioning lack lifecycle test coverage, and the output schema does not document that tranche counters are empty for continuous capacities.
2 open issues
What changed in this PR
Restores continuous asset capacities in MUSE2, preparing for the non-tranched asset-selection algorithm in #1574 while preserving discrete-capacity support.
Changes:
- Adds continuous capacity representation and capacity-based mothballing and decommissioning.
- Treats input assets without tranche settings as continuous and leaves their output tranche counts blank.
- Updates input documentation, unit tests and regression expectations.
| File | Description |
|---|---|
| tests/data/two_regions/asset_capacities.csv | Expects blank continuous-asset tranche counts. |
| tests/data/two_outputs/asset_capacities.csv | Updates tranche-count expectations. |
| tests/data/simple/asset_capacities.csv | Updates baseline tranche-count expectations. |
| tests/data/simple_tranche_size/asset_capacities.csv | Preserves explicit tranches alongside continuous assets. |
| tests/data/simple_shadow/asset_capacities.csv | Updates shadow-pricing output expectations. |
| tests/data/simple_npv/asset_capacities.csv | Updates net-present-value output expectations. |
| tests/data/simple_mothball/asset_capacities.csv | Updates continuous mothballing output expectations. |
| tests/data/simple_marginal/asset_capacities.csv | Updates marginal-pricing output expectations. |
| tests/data/simple_marginal_average/asset_capacities.csv | Updates average marginal-pricing expectations. |
| tests/data/simple_ironing_out/asset_capacities.csv | Updates ironing-out scenario expectations. |
| tests/data/simple_full/asset_capacities.csv | Updates full-output scenario expectations. |
| tests/data/muse1_default/asset_capacities.csv | Updates default-example tranche counts. |
| tests/data/missing_commodity/asset_capacities.csv | Updates missing-commodity scenario expectations. |
| tests/data/circularity/asset_capacities.csv | Updates circularity scenario expectations. |
| tests/data/circularity_npv/asset_capacities.csv | Updates circularity valuation expectations. |
| src/simulation/investment/competitive.rs | Adapts selection to capacity-based unmothballing. |
| src/output.rs | Serialises optional tranche counts. |
| src/input/asset.rs | Loads assets without tranche settings as continuous. |
| src/fixture.rs | Uses the discrete-capacity constructor. |
| src/asset/pool.rs | Tracks unretained capacity rather than tranche counts. |
| src/asset/capacity.rs | Adds continuous and discrete capacity variants. |
| src/asset.rs | Converts lifecycle bookkeeping to capacity amounts. |
| schemas/input/processes.yaml | Documents the continuous-capacity fallback. |
| schemas/input/assets.yaml | Explains omitted tranche settings. |
| docs/model/investment.md | Describes continuous assets and current selection behaviour. |
Review effort: Balanced
tsmbland
force-pushed
the
continuous_capacities
branch
from
November 10, 2026 11:53
b2a4f17 to
d850ace
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## multi_investment_algorithms_prep #1573 +/- ##
====================================================================
- Coverage 89.21% 89.13% -0.09%
====================================================================
Files 63 63
Lines 9209 9259 +50
Branches 9209 9259 +50
====================================================================
+ Hits 8216 8253 +37
- Misses 676 686 +10
- Partials 317 320 +3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Description
This one was frustrating. Adam wants the new asset selection algorithm (#1574) to not use tranching, which means adding back the ability for assets to have continuous capacities, after we recently removed this ability.
Fortunately a lot of this was just reverting previous commits and fixing up conflicts. I needed a way for mothballing to work with continuous capacities, so rather than storing tranche counts it now stores
AssetCapacitys. The output files have a few columns representing tranche counts, so I've made it so these are blank for assets with continuous capacities.Fixes # (issue)
Type of change
Key checklist
$ cargo test$ cargo docpresent in the previous release
Further checks